An objective of some speech recognition systems is to perform recognition as accurately as possible. An objective of some speech recognition systems is to respond with the most useful possible results. An objective of some speech recognition systems is to respond robustly in environments with failure-prone connections. An objective of some speech recognition systems is to distribute the processing workload between computer processors or geographical locations such as server farms.
Those objectives, in many embodiments, conflict with another key objective, which is to respond to users with useful results as quickly as possible. That is, with low latency. Dual mode speech recognition systems and methods use multiple recognizers to convert speech into useful results. Known embodiments of dual mode speech recognition attempt to address the conflicting objectives by sending speech to multiple recognizers varying in speed and accuracy, and provide low latency by setting up a timeout and choosing among the results, if any, that are received before the timeout occurs.
This approach has a major drawback, which is that, in some instances, the user will receive no response until the timeout occurs. That is, he must wait for as long as the longest amount of time the system is designed to wait for any response. Furthermore, in no case will the system respond before receiving a second result, even if the first result is of sufficient quality.